4. Описание окружения робота
using Images # Библиотека обработки изображений
Типы цветовых пространств
Любое изображение – это просто массив пиксельных объектов. Элементы изображения называются пикселями, а Julia Images рассматривает пиксели как первоклассные объекты. Например, у нас есть Gray-пиксели в оттенках серого, RGB-пиксели цвета, Lab-пиксели цвета.
Начнём анализ с формата RGB (аббревиатура, образованная от английских слов red, green, blue – красный, зелёный, синий) – аддитивная цветовая модель, описывающая способ кодирования цвета для цветовоспроизведения с помощью трёх цветов, которые принято называть основными. Выбор основных цветов обусловлен особенностями физиологии восприятия цвета сетчаткой нашего глаза.
img_rgb = [RGB(1.0, 0.0, 0.0), RGB(0.0, 1.0, 0.0), RGB(0.0, 0.0, 1.0)]
dump(img_rgb)
Gray – это однокональная матрица, описывающая изображения в оттенках серого цвета. По умолчанию используется 8-битное кодирование цвета.
img_gray = rand(Gray, 3, 3)
dump(img_gray)
LAB – аббревиатура названия двух разных (хотя и похожих) цветовых пространств. Более известным и распространенным является CIELAB (точнее, CIE 1976 Lab*), другое – Hunter Lab (точнее, Hunter L, a, b). Таким образом, Lab – это неформальная аббревиатура, не определяющая цветовое пространство однозначно. В Engee, говоря о пространстве Lab, подразумевают CIELAB.
img_lab = rand(Lab, 3, 3)
dump(img_lab)
Перевод между типами объектов
G = Gray.(img_rgb) # RGB => Gray
dump(G)
RGB.(G) # Gray => RGB
RGB.(img_lab) # Lab => RGB


